//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift open source project
//
// Copyright (c) 2025 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See http://swift.org/LICENSE.txt for license information
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//

public import SWBUtil

public struct InputFileGroupingStrategyExtensionPoint: ExtensionPoint, Sendable {
    public typealias ExtensionProtocol = InputFileGroupingStrategyExtension

    public static let name = "InputFileGroupingStrategyExtensionPoint"

    public init() {}
}

public protocol InputFileGroupingStrategyExtension: Sendable {
    func groupingStrategies() -> [String: any InputFileGroupingStrategyFactory]
    func fileTypesCompilingToSwiftSources() -> [String]
}
